package DataStructureAndAlgorithm.CSP.Day01;

import java.util.Scanner;

class AcWing_3192{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        int[] cnt = new int[10010];
        int n = in.nextInt();
        int maxCnt = -1,maxNum = 0;
        int temp = 0;
        for (int i = 0 ; i < n; i++){
            temp = in.nextInt();
            cnt[temp]++;
            if (cnt[temp] > maxCnt){
                maxNum = temp;
                maxCnt = cnt[temp];
            }else if (cnt[temp] == maxCnt && temp < maxNum){
                maxNum = temp;
                maxCnt = cnt[temp];
            }
        }
        System.out.print(maxNum);
    }
}

/*
给定 n

个正整数，找出它们中出现次数最多的数。

如果这样的数有多个，请输出其中最小的一个。
输入格式

输入的第一行只有一个正整数 n

，表示数字的个数。

输入的第二行有 n
个整数 s1,s2,…,sn

。

相邻的数用空格分隔。
输出格式

输出这 n

个次数中出现次数最多的数。

如果这样的数有多个，输出其中最小的一个。
数据范围

1≤n≤1000
,
1≤si≤10000

输入样例：

6
10 1 10 20 30 20

输出样例：

10

 */